
backtrace-demo:     file format elf64-x86-64


Disassembly of section .init:

0000000000000978 <_init>:
 978:	48 83 ec 08          	sub    $0x8,%rsp
 97c:	48 8b 05 5d 16 20 00 	mov    0x20165d(%rip),%rax        # 201fe0 <__gmon_start__>
 983:	48 85 c0             	test   %rax,%rax
 986:	74 02                	je     98a <_init+0x12>
 988:	ff d0                	callq  *%rax
 98a:	48 83 c4 08          	add    $0x8,%rsp
 98e:	c3                   	retq   

Disassembly of section .plt:

0000000000000990 <.plt>:
 990:	ff 35 72 16 20 00    	pushq  0x201672(%rip)        # 202008 <_GLOBAL_OFFSET_TABLE_+0x8>
 996:	ff 25 74 16 20 00    	jmpq   *0x201674(%rip)        # 202010 <_GLOBAL_OFFSET_TABLE_+0x10>
 99c:	0f 1f 40 00          	nopl   0x0(%rax)

00000000000009a0 <free@plt>:
 9a0:	ff 25 72 16 20 00    	jmpq   *0x201672(%rip)        # 202018 <free@GLIBC_2.2.5>
 9a6:	68 00 00 00 00       	pushq  $0x0
 9ab:	e9 e0 ff ff ff       	jmpq   990 <.plt>

00000000000009b0 <puts@plt>:
 9b0:	ff 25 6a 16 20 00    	jmpq   *0x20166a(%rip)        # 202020 <puts@GLIBC_2.2.5>
 9b6:	68 01 00 00 00       	pushq  $0x1
 9bb:	e9 d0 ff ff ff       	jmpq   990 <.plt>

00000000000009c0 <backtrace_symbols@plt>:
 9c0:	ff 25 62 16 20 00    	jmpq   *0x201662(%rip)        # 202028 <backtrace_symbols@GLIBC_2.2.5>
 9c6:	68 02 00 00 00       	pushq  $0x2
 9cb:	e9 c0 ff ff ff       	jmpq   990 <.plt>

00000000000009d0 <backtrace@plt>:
 9d0:	ff 25 5a 16 20 00    	jmpq   *0x20165a(%rip)        # 202030 <backtrace@GLIBC_2.2.5>
 9d6:	68 03 00 00 00       	pushq  $0x3
 9db:	e9 b0 ff ff ff       	jmpq   990 <.plt>

00000000000009e0 <__stack_chk_fail@plt>:
 9e0:	ff 25 52 16 20 00    	jmpq   *0x201652(%rip)        # 202038 <__stack_chk_fail@GLIBC_2.4>
 9e6:	68 04 00 00 00       	pushq  $0x4
 9eb:	e9 a0 ff ff ff       	jmpq   990 <.plt>

00000000000009f0 <printf@plt>:
 9f0:	ff 25 4a 16 20 00    	jmpq   *0x20164a(%rip)        # 202040 <printf@GLIBC_2.2.5>
 9f6:	68 05 00 00 00       	pushq  $0x5
 9fb:	e9 90 ff ff ff       	jmpq   990 <.plt>

0000000000000a00 <fprintf@plt>:
 a00:	ff 25 42 16 20 00    	jmpq   *0x201642(%rip)        # 202048 <fprintf@GLIBC_2.2.5>
 a06:	68 06 00 00 00       	pushq  $0x6
 a0b:	e9 80 ff ff ff       	jmpq   990 <.plt>

0000000000000a10 <perror@plt>:
 a10:	ff 25 3a 16 20 00    	jmpq   *0x20163a(%rip)        # 202050 <perror@GLIBC_2.2.5>
 a16:	68 07 00 00 00       	pushq  $0x7
 a1b:	e9 70 ff ff ff       	jmpq   990 <.plt>

0000000000000a20 <atoi@plt>:
 a20:	ff 25 32 16 20 00    	jmpq   *0x201632(%rip)        # 202058 <atoi@GLIBC_2.2.5>
 a26:	68 08 00 00 00       	pushq  $0x8
 a2b:	e9 60 ff ff ff       	jmpq   990 <.plt>

0000000000000a30 <exit@plt>:
 a30:	ff 25 2a 16 20 00    	jmpq   *0x20162a(%rip)        # 202060 <exit@GLIBC_2.2.5>
 a36:	68 09 00 00 00       	pushq  $0x9
 a3b:	e9 50 ff ff ff       	jmpq   990 <.plt>

Disassembly of section .text:

0000000000000a40 <_start>:
 a40:	31 ed                	xor    %ebp,%ebp
 a42:	49 89 d1             	mov    %rdx,%r9
 a45:	5e                   	pop    %rsi
 a46:	48 89 e2             	mov    %rsp,%rdx
 a49:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
 a4d:	50                   	push   %rax
 a4e:	54                   	push   %rsp
 a4f:	4c 8d 05 fa 02 00 00 	lea    0x2fa(%rip),%r8        # d50 <__libc_csu_fini>
 a56:	48 8d 0d 83 02 00 00 	lea    0x283(%rip),%rcx        # ce0 <__libc_csu_init>
 a5d:	48 8d 3d 11 02 00 00 	lea    0x211(%rip),%rdi        # c75 <main>
 a64:	ff 15 6e 15 20 00    	callq  *0x20156e(%rip)        # 201fd8 <__libc_start_main@GLIBC_2.2.5>
 a6a:	f4                   	hlt    
 a6b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000000a70 <deregister_tm_clones>:
 a70:	48 8d 3d 01 16 20 00 	lea    0x201601(%rip),%rdi        # 202078 <_edata>
 a77:	55                   	push   %rbp
 a78:	48 8d 05 f9 15 20 00 	lea    0x2015f9(%rip),%rax        # 202078 <_edata>
 a7f:	48 39 f8             	cmp    %rdi,%rax
 a82:	48 89 e5             	mov    %rsp,%rbp
 a85:	74 19                	je     aa0 <deregister_tm_clones+0x30>
 a87:	48 8b 05 42 15 20 00 	mov    0x201542(%rip),%rax        # 201fd0 <_ITM_deregisterTMCloneTable>
 a8e:	48 85 c0             	test   %rax,%rax
 a91:	74 0d                	je     aa0 <deregister_tm_clones+0x30>
 a93:	5d                   	pop    %rbp
 a94:	ff e0                	jmpq   *%rax
 a96:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
 a9d:	00 00 00 
 aa0:	5d                   	pop    %rbp
 aa1:	c3                   	retq   
 aa2:	0f 1f 40 00          	nopl   0x0(%rax)
 aa6:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
 aad:	00 00 00 

0000000000000ab0 <register_tm_clones>:
 ab0:	48 8d 3d c1 15 20 00 	lea    0x2015c1(%rip),%rdi        # 202078 <_edata>
 ab7:	48 8d 35 ba 15 20 00 	lea    0x2015ba(%rip),%rsi        # 202078 <_edata>
 abe:	55                   	push   %rbp
 abf:	48 29 fe             	sub    %rdi,%rsi
 ac2:	48 89 e5             	mov    %rsp,%rbp
 ac5:	48 c1 fe 03          	sar    $0x3,%rsi
 ac9:	48 89 f0             	mov    %rsi,%rax
 acc:	48 c1 e8 3f          	shr    $0x3f,%rax
 ad0:	48 01 c6             	add    %rax,%rsi
 ad3:	48 d1 fe             	sar    %rsi
 ad6:	74 18                	je     af0 <register_tm_clones+0x40>
 ad8:	48 8b 05 09 15 20 00 	mov    0x201509(%rip),%rax        # 201fe8 <_ITM_registerTMCloneTable>
 adf:	48 85 c0             	test   %rax,%rax
 ae2:	74 0c                	je     af0 <register_tm_clones+0x40>
 ae4:	5d                   	pop    %rbp
 ae5:	ff e0                	jmpq   *%rax
 ae7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
 aee:	00 00 
 af0:	5d                   	pop    %rbp
 af1:	c3                   	retq   
 af2:	0f 1f 40 00          	nopl   0x0(%rax)
 af6:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
 afd:	00 00 00 

0000000000000b00 <__do_global_dtors_aux>:
 b00:	80 3d 81 15 20 00 00 	cmpb   $0x0,0x201581(%rip)        # 202088 <completed.6973>
 b07:	75 2f                	jne    b38 <__do_global_dtors_aux+0x38>
 b09:	48 83 3d df 14 20 00 	cmpq   $0x0,0x2014df(%rip)        # 201ff0 <__cxa_finalize@GLIBC_2.2.5>
 b10:	00 
 b11:	55                   	push   %rbp
 b12:	48 89 e5             	mov    %rsp,%rbp
 b15:	74 0d                	je     b24 <__do_global_dtors_aux+0x24>
 b17:	48 8b 3d 52 15 20 00 	mov    0x201552(%rip),%rdi        # 202070 <__dso_handle>
 b1e:	ff 15 cc 14 20 00    	callq  *0x2014cc(%rip)        # 201ff0 <__cxa_finalize@GLIBC_2.2.5>
 b24:	e8 47 ff ff ff       	callq  a70 <deregister_tm_clones>
 b29:	c6 05 58 15 20 00 01 	movb   $0x1,0x201558(%rip)        # 202088 <completed.6973>
 b30:	5d                   	pop    %rbp
 b31:	c3                   	retq   
 b32:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
 b38:	f3 c3                	repz retq 
 b3a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)

0000000000000b40 <frame_dummy>:
 b40:	55                   	push   %rbp
 b41:	48 89 e5             	mov    %rsp,%rbp
 b44:	5d                   	pop    %rbp
 b45:	e9 66 ff ff ff       	jmpq   ab0 <register_tm_clones>

0000000000000b4a <myfunc3>:
 b4a:	55                   	push   %rbp
 b4b:	48 89 e5             	mov    %rsp,%rbp
 b4e:	48 81 ec 40 03 00 00 	sub    $0x340,%rsp
 b55:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
 b5c:	00 00 
 b5e:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
 b62:	31 c0                	xor    %eax,%eax
 b64:	48 8d 85 d0 fc ff ff 	lea    -0x330(%rbp),%rax
 b6b:	be 64 00 00 00       	mov    $0x64,%esi
 b70:	48 89 c7             	mov    %rax,%rdi
 b73:	e8 58 fe ff ff       	callq  9d0 <backtrace@plt>
 b78:	89 85 c4 fc ff ff    	mov    %eax,-0x33c(%rbp)
 b7e:	8b 85 c4 fc ff ff    	mov    -0x33c(%rbp),%eax
 b84:	89 c6                	mov    %eax,%esi
 b86:	48 8d 3d db 01 00 00 	lea    0x1db(%rip),%rdi        # d68 <_IO_stdin_used+0x8>
 b8d:	b8 00 00 00 00       	mov    $0x0,%eax
 b92:	e8 59 fe ff ff       	callq  9f0 <printf@plt>
 b97:	8b 95 c4 fc ff ff    	mov    -0x33c(%rbp),%edx
 b9d:	48 8d 85 d0 fc ff ff 	lea    -0x330(%rbp),%rax
 ba4:	89 d6                	mov    %edx,%esi
 ba6:	48 89 c7             	mov    %rax,%rdi
 ba9:	e8 12 fe ff ff       	callq  9c0 <backtrace_symbols@plt>
 bae:	48 89 85 c8 fc ff ff 	mov    %rax,-0x338(%rbp)
 bb5:	48 83 bd c8 fc ff ff 	cmpq   $0x0,-0x338(%rbp)
 bbc:	00 
 bbd:	75 16                	jne    bd5 <myfunc3+0x8b>
 bbf:	48 8d 3d c5 01 00 00 	lea    0x1c5(%rip),%rdi        # d8b <_IO_stdin_used+0x2b>
 bc6:	e8 45 fe ff ff       	callq  a10 <perror@plt>
 bcb:	bf 01 00 00 00       	mov    $0x1,%edi
 bd0:	e8 5b fe ff ff       	callq  a30 <exit@plt>
 bd5:	c7 85 c0 fc ff ff 00 	movl   $0x0,-0x340(%rbp)
 bdc:	00 00 00 
 bdf:	eb 2c                	jmp    c0d <myfunc3+0xc3>
 be1:	8b 85 c0 fc ff ff    	mov    -0x340(%rbp),%eax
 be7:	48 98                	cltq   
 be9:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
 bf0:	00 
 bf1:	48 8b 85 c8 fc ff ff 	mov    -0x338(%rbp),%rax
 bf8:	48 01 d0             	add    %rdx,%rax
 bfb:	48 8b 00             	mov    (%rax),%rax
 bfe:	48 89 c7             	mov    %rax,%rdi
 c01:	e8 aa fd ff ff       	callq  9b0 <puts@plt>
 c06:	83 85 c0 fc ff ff 01 	addl   $0x1,-0x340(%rbp)
 c0d:	8b 85 c0 fc ff ff    	mov    -0x340(%rbp),%eax
 c13:	3b 85 c4 fc ff ff    	cmp    -0x33c(%rbp),%eax
 c19:	7c c6                	jl     be1 <myfunc3+0x97>
 c1b:	48 8b 85 c8 fc ff ff 	mov    -0x338(%rbp),%rax
 c22:	48 89 c7             	mov    %rax,%rdi
 c25:	e8 76 fd ff ff       	callq  9a0 <free@plt>
 c2a:	90                   	nop
 c2b:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
 c2f:	64 48 33 04 25 28 00 	xor    %fs:0x28,%rax
 c36:	00 00 
 c38:	74 05                	je     c3f <myfunc3+0xf5>
 c3a:	e8 a1 fd ff ff       	callq  9e0 <__stack_chk_fail@plt>
 c3f:	c9                   	leaveq 
 c40:	c3                   	retq   

0000000000000c41 <myfunc2>:
 c41:	55                   	push   %rbp
 c42:	48 89 e5             	mov    %rsp,%rbp
 c45:	e8 00 ff ff ff       	callq  b4a <myfunc3>
 c4a:	90                   	nop
 c4b:	5d                   	pop    %rbp
 c4c:	c3                   	retq   

0000000000000c4d <myfunc>:
 c4d:	55                   	push   %rbp
 c4e:	48 89 e5             	mov    %rsp,%rbp
 c51:	48 83 ec 10          	sub    $0x10,%rsp
 c55:	89 7d fc             	mov    %edi,-0x4(%rbp)
 c58:	83 7d fc 01          	cmpl   $0x1,-0x4(%rbp)
 c5c:	7e 0f                	jle    c6d <myfunc+0x20>
 c5e:	8b 45 fc             	mov    -0x4(%rbp),%eax
 c61:	83 e8 01             	sub    $0x1,%eax
 c64:	89 c7                	mov    %eax,%edi
 c66:	e8 e2 ff ff ff       	callq  c4d <myfunc>
 c6b:	eb 05                	jmp    c72 <myfunc+0x25>
 c6d:	e8 cf ff ff ff       	callq  c41 <myfunc2>
 c72:	90                   	nop
 c73:	c9                   	leaveq 
 c74:	c3                   	retq   

0000000000000c75 <main>:
 c75:	55                   	push   %rbp
 c76:	48 89 e5             	mov    %rsp,%rbp
 c79:	48 83 ec 10          	sub    $0x10,%rsp
 c7d:	89 7d fc             	mov    %edi,-0x4(%rbp)
 c80:	48 89 75 f0          	mov    %rsi,-0x10(%rbp)
 c84:	83 7d fc 02          	cmpl   $0x2,-0x4(%rbp)
 c88:	74 2c                	je     cb6 <main+0x41>
 c8a:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
 c8e:	48 8b 10             	mov    (%rax),%rdx
 c91:	48 8b 05 e8 13 20 00 	mov    0x2013e8(%rip),%rax        # 202080 <stderr@@GLIBC_2.2.5>
 c98:	48 8d 35 fe 00 00 00 	lea    0xfe(%rip),%rsi        # d9d <_IO_stdin_used+0x3d>
 c9f:	48 89 c7             	mov    %rax,%rdi
 ca2:	b8 00 00 00 00       	mov    $0x0,%eax
 ca7:	e8 54 fd ff ff       	callq  a00 <fprintf@plt>
 cac:	bf 01 00 00 00       	mov    $0x1,%edi
 cb1:	e8 7a fd ff ff       	callq  a30 <exit@plt>
 cb6:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
 cba:	48 83 c0 08          	add    $0x8,%rax
 cbe:	48 8b 00             	mov    (%rax),%rax
 cc1:	48 89 c7             	mov    %rax,%rdi
 cc4:	e8 57 fd ff ff       	callq  a20 <atoi@plt>
 cc9:	89 c7                	mov    %eax,%edi
 ccb:	e8 7d ff ff ff       	callq  c4d <myfunc>
 cd0:	bf 00 00 00 00       	mov    $0x0,%edi
 cd5:	e8 56 fd ff ff       	callq  a30 <exit@plt>
 cda:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)

0000000000000ce0 <__libc_csu_init>:
 ce0:	41 57                	push   %r15
 ce2:	41 56                	push   %r14
 ce4:	49 89 d7             	mov    %rdx,%r15
 ce7:	41 55                	push   %r13
 ce9:	41 54                	push   %r12
 ceb:	4c 8d 25 ee 10 20 00 	lea    0x2010ee(%rip),%r12        # 201de0 <__frame_dummy_init_array_entry>
 cf2:	55                   	push   %rbp
 cf3:	48 8d 2d ee 10 20 00 	lea    0x2010ee(%rip),%rbp        # 201de8 <__init_array_end>
 cfa:	53                   	push   %rbx
 cfb:	41 89 fd             	mov    %edi,%r13d
 cfe:	49 89 f6             	mov    %rsi,%r14
 d01:	4c 29 e5             	sub    %r12,%rbp
 d04:	48 83 ec 08          	sub    $0x8,%rsp
 d08:	48 c1 fd 03          	sar    $0x3,%rbp
 d0c:	ff 15 e6 12 20 00    	callq  *0x2012e6(%rip)        # 201ff8 <.got+0x28>
 d12:	48 85 ed             	test   %rbp,%rbp
 d15:	74 1f                	je     d36 <__libc_csu_init+0x56>
 d17:	31 db                	xor    %ebx,%ebx
 d19:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
 d20:	4c 89 fa             	mov    %r15,%rdx
 d23:	4c 89 f6             	mov    %r14,%rsi
 d26:	44 89 ef             	mov    %r13d,%edi
 d29:	41 ff 14 dc          	callq  *(%r12,%rbx,8)
 d2d:	48 83 c3 01          	add    $0x1,%rbx
 d31:	48 39 dd             	cmp    %rbx,%rbp
 d34:	75 ea                	jne    d20 <__libc_csu_init+0x40>
 d36:	48 83 c4 08          	add    $0x8,%rsp
 d3a:	5b                   	pop    %rbx
 d3b:	5d                   	pop    %rbp
 d3c:	41 5c                	pop    %r12
 d3e:	41 5d                	pop    %r13
 d40:	41 5e                	pop    %r14
 d42:	41 5f                	pop    %r15
 d44:	c3                   	retq   
 d45:	90                   	nop
 d46:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
 d4d:	00 00 00 

0000000000000d50 <__libc_csu_fini>:
 d50:	f3 c3                	repz retq 

Disassembly of section .fini:

0000000000000d54 <_fini>:
 d54:	48 83 ec 08          	sub    $0x8,%rsp
 d58:	48 83 c4 08          	add    $0x8,%rsp
 d5c:	c3                   	retq   
